A host or a processor may access a storage device in order to read data stored in the storage device or to store data in the storage device. Since time for reading data from the storage device by either the host or the processor may be relatively long, the host or the processor may use a memory to store a portion of the data stored in the storage device. In this case, a data input/output time of the memory may be shorter than that of the storage device.
The host or the processor may have a tendency to read again the read data within a short time period. This tendency may be referred to as the temporal locality. A conventional data input/output management system may use a buffer memory to store the data read from the storage device by either the host or the processor based on the temporal locality.
Due to an increase in operating speed of the host or the processor, a faster buffer memory has been required. Moreover, a cache memory being closest to the host or the processor and operating the fastest, and a main memory being located between the cache memory and the storage device, while operating more slowly than the cache memory but operating more quickly than the storage device, have been used. The processor—the cache memory—the main memory—the storage device structure may be referred to as a memory hierarchy, and the cache memory may include a layer based on a plurality of levels including a Level 1 (L1) cache memory and a Level 2 (L2) cache memory depending on applications.